package com.jhgk.jhcee.auth.model;

import java.util.ArrayList;
import java.util.List;

public class UserFeedbackExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserFeedbackExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andStudentIdIsNull() {
            addCriterion("student_id is null");
            return (Criteria) this;
        }

        public Criteria andStudentIdIsNotNull() {
            addCriterion("student_id is not null");
            return (Criteria) this;
        }

        public Criteria andStudentIdEqualTo(Integer value) {
            addCriterion("student_id =", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotEqualTo(Integer value) {
            addCriterion("student_id <>", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdGreaterThan(Integer value) {
            addCriterion("student_id >", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("student_id >=", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdLessThan(Integer value) {
            addCriterion("student_id <", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdLessThanOrEqualTo(Integer value) {
            addCriterion("student_id <=", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdIn(List<Integer> values) {
            addCriterion("student_id in", values, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotIn(List<Integer> values) {
            addCriterion("student_id not in", values, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdBetween(Integer value1, Integer value2) {
            addCriterion("student_id between", value1, value2, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotBetween(Integer value1, Integer value2) {
            addCriterion("student_id not between", value1, value2, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentNameIsNull() {
            addCriterion("student_name is null");
            return (Criteria) this;
        }

        public Criteria andStudentNameIsNotNull() {
            addCriterion("student_name is not null");
            return (Criteria) this;
        }

        public Criteria andStudentNameEqualTo(String value) {
            addCriterion("student_name =", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameNotEqualTo(String value) {
            addCriterion("student_name <>", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameGreaterThan(String value) {
            addCriterion("student_name >", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameGreaterThanOrEqualTo(String value) {
            addCriterion("student_name >=", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameLessThan(String value) {
            addCriterion("student_name <", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameLessThanOrEqualTo(String value) {
            addCriterion("student_name <=", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameLike(String value) {
            addCriterion("student_name like", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameNotLike(String value) {
            addCriterion("student_name not like", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameIn(List<String> values) {
            addCriterion("student_name in", values, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameNotIn(List<String> values) {
            addCriterion("student_name not in", values, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameBetween(String value1, String value2) {
            addCriterion("student_name between", value1, value2, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameNotBetween(String value1, String value2) {
            addCriterion("student_name not between", value1, value2, "studentName");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberIsNull() {
            addCriterion("phone_number is null");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberIsNotNull() {
            addCriterion("phone_number is not null");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberEqualTo(String value) {
            addCriterion("phone_number =", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberNotEqualTo(String value) {
            addCriterion("phone_number <>", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberGreaterThan(String value) {
            addCriterion("phone_number >", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberGreaterThanOrEqualTo(String value) {
            addCriterion("phone_number >=", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberLessThan(String value) {
            addCriterion("phone_number <", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberLessThanOrEqualTo(String value) {
            addCriterion("phone_number <=", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberLike(String value) {
            addCriterion("phone_number like", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberNotLike(String value) {
            addCriterion("phone_number not like", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberIn(List<String> values) {
            addCriterion("phone_number in", values, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberNotIn(List<String> values) {
            addCriterion("phone_number not in", values, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberBetween(String value1, String value2) {
            addCriterion("phone_number between", value1, value2, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberNotBetween(String value1, String value2) {
            addCriterion("phone_number not between", value1, value2, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdIsNull() {
            addCriterion("expert_user_id is null");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdIsNotNull() {
            addCriterion("expert_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdEqualTo(Integer value) {
            addCriterion("expert_user_id =", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdNotEqualTo(Integer value) {
            addCriterion("expert_user_id <>", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdGreaterThan(Integer value) {
            addCriterion("expert_user_id >", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("expert_user_id >=", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdLessThan(Integer value) {
            addCriterion("expert_user_id <", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("expert_user_id <=", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdIn(List<Integer> values) {
            addCriterion("expert_user_id in", values, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdNotIn(List<Integer> values) {
            addCriterion("expert_user_id not in", values, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdBetween(Integer value1, Integer value2) {
            addCriterion("expert_user_id between", value1, value2, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("expert_user_id not between", value1, value2, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertNameIsNull() {
            addCriterion("expert_name is null");
            return (Criteria) this;
        }

        public Criteria andExpertNameIsNotNull() {
            addCriterion("expert_name is not null");
            return (Criteria) this;
        }

        public Criteria andExpertNameEqualTo(String value) {
            addCriterion("expert_name =", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameNotEqualTo(String value) {
            addCriterion("expert_name <>", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameGreaterThan(String value) {
            addCriterion("expert_name >", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameGreaterThanOrEqualTo(String value) {
            addCriterion("expert_name >=", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameLessThan(String value) {
            addCriterion("expert_name <", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameLessThanOrEqualTo(String value) {
            addCriterion("expert_name <=", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameLike(String value) {
            addCriterion("expert_name like", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameNotLike(String value) {
            addCriterion("expert_name not like", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameIn(List<String> values) {
            addCriterion("expert_name in", values, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameNotIn(List<String> values) {
            addCriterion("expert_name not in", values, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameBetween(String value1, String value2) {
            addCriterion("expert_name between", value1, value2, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameNotBetween(String value1, String value2) {
            addCriterion("expert_name not between", value1, value2, "expertName");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdIsNull() {
            addCriterion("staff_user_id is null");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdIsNotNull() {
            addCriterion("staff_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdEqualTo(Integer value) {
            addCriterion("staff_user_id =", value, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdNotEqualTo(Integer value) {
            addCriterion("staff_user_id <>", value, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdGreaterThan(Integer value) {
            addCriterion("staff_user_id >", value, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("staff_user_id >=", value, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdLessThan(Integer value) {
            addCriterion("staff_user_id <", value, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("staff_user_id <=", value, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdIn(List<Integer> values) {
            addCriterion("staff_user_id in", values, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdNotIn(List<Integer> values) {
            addCriterion("staff_user_id not in", values, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdBetween(Integer value1, Integer value2) {
            addCriterion("staff_user_id between", value1, value2, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("staff_user_id not between", value1, value2, "staffUserId");
            return (Criteria) this;
        }

        public Criteria andStaffNameIsNull() {
            addCriterion("staff_name is null");
            return (Criteria) this;
        }

        public Criteria andStaffNameIsNotNull() {
            addCriterion("staff_name is not null");
            return (Criteria) this;
        }

        public Criteria andStaffNameEqualTo(String value) {
            addCriterion("staff_name =", value, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameNotEqualTo(String value) {
            addCriterion("staff_name <>", value, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameGreaterThan(String value) {
            addCriterion("staff_name >", value, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameGreaterThanOrEqualTo(String value) {
            addCriterion("staff_name >=", value, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameLessThan(String value) {
            addCriterion("staff_name <", value, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameLessThanOrEqualTo(String value) {
            addCriterion("staff_name <=", value, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameLike(String value) {
            addCriterion("staff_name like", value, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameNotLike(String value) {
            addCriterion("staff_name not like", value, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameIn(List<String> values) {
            addCriterion("staff_name in", values, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameNotIn(List<String> values) {
            addCriterion("staff_name not in", values, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameBetween(String value1, String value2) {
            addCriterion("staff_name between", value1, value2, "staffName");
            return (Criteria) this;
        }

        public Criteria andStaffNameNotBetween(String value1, String value2) {
            addCriterion("staff_name not between", value1, value2, "staffName");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidIsNull() {
            addCriterion("province_uuid is null");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidIsNotNull() {
            addCriterion("province_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidEqualTo(String value) {
            addCriterion("province_uuid =", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidNotEqualTo(String value) {
            addCriterion("province_uuid <>", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidGreaterThan(String value) {
            addCriterion("province_uuid >", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidGreaterThanOrEqualTo(String value) {
            addCriterion("province_uuid >=", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidLessThan(String value) {
            addCriterion("province_uuid <", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidLessThanOrEqualTo(String value) {
            addCriterion("province_uuid <=", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidLike(String value) {
            addCriterion("province_uuid like", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidNotLike(String value) {
            addCriterion("province_uuid not like", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidIn(List<String> values) {
            addCriterion("province_uuid in", values, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidNotIn(List<String> values) {
            addCriterion("province_uuid not in", values, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidBetween(String value1, String value2) {
            addCriterion("province_uuid between", value1, value2, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidNotBetween(String value1, String value2) {
            addCriterion("province_uuid not between", value1, value2, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andYearIsNull() {
            addCriterion("year is null");
            return (Criteria) this;
        }

        public Criteria andYearIsNotNull() {
            addCriterion("year is not null");
            return (Criteria) this;
        }

        public Criteria andYearEqualTo(Integer value) {
            addCriterion("year =", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotEqualTo(Integer value) {
            addCriterion("year <>", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThan(Integer value) {
            addCriterion("year >", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThanOrEqualTo(Integer value) {
            addCriterion("year >=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThan(Integer value) {
            addCriterion("year <", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThanOrEqualTo(Integer value) {
            addCriterion("year <=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearIn(List<Integer> values) {
            addCriterion("year in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotIn(List<Integer> values) {
            addCriterion("year not in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearBetween(Integer value1, Integer value2) {
            addCriterion("year between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotBetween(Integer value1, Integer value2) {
            addCriterion("year not between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andBatchUuidIsNull() {
            addCriterion("batch_uuid is null");
            return (Criteria) this;
        }

        public Criteria andBatchUuidIsNotNull() {
            addCriterion("batch_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andBatchUuidEqualTo(String value) {
            addCriterion("batch_uuid =", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidNotEqualTo(String value) {
            addCriterion("batch_uuid <>", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidGreaterThan(String value) {
            addCriterion("batch_uuid >", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidGreaterThanOrEqualTo(String value) {
            addCriterion("batch_uuid >=", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidLessThan(String value) {
            addCriterion("batch_uuid <", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidLessThanOrEqualTo(String value) {
            addCriterion("batch_uuid <=", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidLike(String value) {
            addCriterion("batch_uuid like", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidNotLike(String value) {
            addCriterion("batch_uuid not like", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidIn(List<String> values) {
            addCriterion("batch_uuid in", values, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidNotIn(List<String> values) {
            addCriterion("batch_uuid not in", values, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidBetween(String value1, String value2) {
            addCriterion("batch_uuid between", value1, value2, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidNotBetween(String value1, String value2) {
            addCriterion("batch_uuid not between", value1, value2, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchNameIsNull() {
            addCriterion("batch_name is null");
            return (Criteria) this;
        }

        public Criteria andBatchNameIsNotNull() {
            addCriterion("batch_name is not null");
            return (Criteria) this;
        }

        public Criteria andBatchNameEqualTo(String value) {
            addCriterion("batch_name =", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameNotEqualTo(String value) {
            addCriterion("batch_name <>", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameGreaterThan(String value) {
            addCriterion("batch_name >", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameGreaterThanOrEqualTo(String value) {
            addCriterion("batch_name >=", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameLessThan(String value) {
            addCriterion("batch_name <", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameLessThanOrEqualTo(String value) {
            addCriterion("batch_name <=", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameLike(String value) {
            addCriterion("batch_name like", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameNotLike(String value) {
            addCriterion("batch_name not like", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameIn(List<String> values) {
            addCriterion("batch_name in", values, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameNotIn(List<String> values) {
            addCriterion("batch_name not in", values, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameBetween(String value1, String value2) {
            addCriterion("batch_name between", value1, value2, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameNotBetween(String value1, String value2) {
            addCriterion("batch_name not between", value1, value2, "batchName");
            return (Criteria) this;
        }

        public Criteria andSubjectIsNull() {
            addCriterion("subject is null");
            return (Criteria) this;
        }

        public Criteria andSubjectIsNotNull() {
            addCriterion("subject is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectEqualTo(Integer value) {
            addCriterion("subject =", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotEqualTo(Integer value) {
            addCriterion("subject <>", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectGreaterThan(Integer value) {
            addCriterion("subject >", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectGreaterThanOrEqualTo(Integer value) {
            addCriterion("subject >=", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLessThan(Integer value) {
            addCriterion("subject <", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLessThanOrEqualTo(Integer value) {
            addCriterion("subject <=", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectIn(List<Integer> values) {
            addCriterion("subject in", values, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotIn(List<Integer> values) {
            addCriterion("subject not in", values, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectBetween(Integer value1, Integer value2) {
            addCriterion("subject between", value1, value2, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotBetween(Integer value1, Integer value2) {
            addCriterion("subject not between", value1, value2, "subject");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolIsNull() {
            addCriterion("middle_school is null");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolIsNotNull() {
            addCriterion("middle_school is not null");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolEqualTo(String value) {
            addCriterion("middle_school =", value, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolNotEqualTo(String value) {
            addCriterion("middle_school <>", value, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolGreaterThan(String value) {
            addCriterion("middle_school >", value, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolGreaterThanOrEqualTo(String value) {
            addCriterion("middle_school >=", value, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolLessThan(String value) {
            addCriterion("middle_school <", value, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolLessThanOrEqualTo(String value) {
            addCriterion("middle_school <=", value, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolLike(String value) {
            addCriterion("middle_school like", value, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolNotLike(String value) {
            addCriterion("middle_school not like", value, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolIn(List<String> values) {
            addCriterion("middle_school in", values, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolNotIn(List<String> values) {
            addCriterion("middle_school not in", values, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolBetween(String value1, String value2) {
            addCriterion("middle_school between", value1, value2, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andMiddleSchoolNotBetween(String value1, String value2) {
            addCriterion("middle_school not between", value1, value2, "middleSchool");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreIsNull() {
            addCriterion("default_score is null");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreIsNotNull() {
            addCriterion("default_score is not null");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreEqualTo(Integer value) {
            addCriterion("default_score =", value, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreNotEqualTo(Integer value) {
            addCriterion("default_score <>", value, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreGreaterThan(Integer value) {
            addCriterion("default_score >", value, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("default_score >=", value, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreLessThan(Integer value) {
            addCriterion("default_score <", value, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreLessThanOrEqualTo(Integer value) {
            addCriterion("default_score <=", value, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreIn(List<Integer> values) {
            addCriterion("default_score in", values, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreNotIn(List<Integer> values) {
            addCriterion("default_score not in", values, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreBetween(Integer value1, Integer value2) {
            addCriterion("default_score between", value1, value2, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andDefaultScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("default_score not between", value1, value2, "defaultScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreIsNull() {
            addCriterion("extra_score is null");
            return (Criteria) this;
        }

        public Criteria andExtraScoreIsNotNull() {
            addCriterion("extra_score is not null");
            return (Criteria) this;
        }

        public Criteria andExtraScoreEqualTo(Integer value) {
            addCriterion("extra_score =", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreNotEqualTo(Integer value) {
            addCriterion("extra_score <>", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreGreaterThan(Integer value) {
            addCriterion("extra_score >", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("extra_score >=", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreLessThan(Integer value) {
            addCriterion("extra_score <", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreLessThanOrEqualTo(Integer value) {
            addCriterion("extra_score <=", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreIn(List<Integer> values) {
            addCriterion("extra_score in", values, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreNotIn(List<Integer> values) {
            addCriterion("extra_score not in", values, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreBetween(Integer value1, Integer value2) {
            addCriterion("extra_score between", value1, value2, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("extra_score not between", value1, value2, "extraScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreIsNull() {
            addCriterion("diff_batch_score is null");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreIsNotNull() {
            addCriterion("diff_batch_score is not null");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreEqualTo(Integer value) {
            addCriterion("diff_batch_score =", value, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreNotEqualTo(Integer value) {
            addCriterion("diff_batch_score <>", value, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreGreaterThan(Integer value) {
            addCriterion("diff_batch_score >", value, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("diff_batch_score >=", value, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreLessThan(Integer value) {
            addCriterion("diff_batch_score <", value, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreLessThanOrEqualTo(Integer value) {
            addCriterion("diff_batch_score <=", value, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreIn(List<Integer> values) {
            addCriterion("diff_batch_score in", values, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreNotIn(List<Integer> values) {
            addCriterion("diff_batch_score not in", values, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreBetween(Integer value1, Integer value2) {
            addCriterion("diff_batch_score between", value1, value2, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andDiffBatchScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("diff_batch_score not between", value1, value2, "diffBatchScore");
            return (Criteria) this;
        }

        public Criteria andSchoolNameIsNull() {
            addCriterion("school_name is null");
            return (Criteria) this;
        }

        public Criteria andSchoolNameIsNotNull() {
            addCriterion("school_name is not null");
            return (Criteria) this;
        }

        public Criteria andSchoolNameEqualTo(String value) {
            addCriterion("school_name =", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameNotEqualTo(String value) {
            addCriterion("school_name <>", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameGreaterThan(String value) {
            addCriterion("school_name >", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameGreaterThanOrEqualTo(String value) {
            addCriterion("school_name >=", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameLessThan(String value) {
            addCriterion("school_name <", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameLessThanOrEqualTo(String value) {
            addCriterion("school_name <=", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameLike(String value) {
            addCriterion("school_name like", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameNotLike(String value) {
            addCriterion("school_name not like", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameIn(List<String> values) {
            addCriterion("school_name in", values, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameNotIn(List<String> values) {
            addCriterion("school_name not in", values, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameBetween(String value1, String value2) {
            addCriterion("school_name between", value1, value2, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameNotBetween(String value1, String value2) {
            addCriterion("school_name not between", value1, value2, "schoolName");
            return (Criteria) this;
        }

        public Criteria andMajorNameIsNull() {
            addCriterion("major_name is null");
            return (Criteria) this;
        }

        public Criteria andMajorNameIsNotNull() {
            addCriterion("major_name is not null");
            return (Criteria) this;
        }

        public Criteria andMajorNameEqualTo(String value) {
            addCriterion("major_name =", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameNotEqualTo(String value) {
            addCriterion("major_name <>", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameGreaterThan(String value) {
            addCriterion("major_name >", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameGreaterThanOrEqualTo(String value) {
            addCriterion("major_name >=", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameLessThan(String value) {
            addCriterion("major_name <", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameLessThanOrEqualTo(String value) {
            addCriterion("major_name <=", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameLike(String value) {
            addCriterion("major_name like", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameNotLike(String value) {
            addCriterion("major_name not like", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameIn(List<String> values) {
            addCriterion("major_name in", values, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameNotIn(List<String> values) {
            addCriterion("major_name not in", values, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameBetween(String value1, String value2) {
            addCriterion("major_name between", value1, value2, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameNotBetween(String value1, String value2) {
            addCriterion("major_name not between", value1, value2, "majorName");
            return (Criteria) this;
        }

        public Criteria andSatisfactionIsNull() {
            addCriterion("satisfaction is null");
            return (Criteria) this;
        }

        public Criteria andSatisfactionIsNotNull() {
            addCriterion("satisfaction is not null");
            return (Criteria) this;
        }

        public Criteria andSatisfactionEqualTo(Boolean value) {
            addCriterion("satisfaction =", value, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andSatisfactionNotEqualTo(Boolean value) {
            addCriterion("satisfaction <>", value, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andSatisfactionGreaterThan(Boolean value) {
            addCriterion("satisfaction >", value, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andSatisfactionGreaterThanOrEqualTo(Boolean value) {
            addCriterion("satisfaction >=", value, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andSatisfactionLessThan(Boolean value) {
            addCriterion("satisfaction <", value, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andSatisfactionLessThanOrEqualTo(Boolean value) {
            addCriterion("satisfaction <=", value, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andSatisfactionIn(List<Boolean> values) {
            addCriterion("satisfaction in", values, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andSatisfactionNotIn(List<Boolean> values) {
            addCriterion("satisfaction not in", values, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andSatisfactionBetween(Boolean value1, Boolean value2) {
            addCriterion("satisfaction between", value1, value2, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andSatisfactionNotBetween(Boolean value1, Boolean value2) {
            addCriterion("satisfaction not between", value1, value2, "satisfaction");
            return (Criteria) this;
        }

        public Criteria andIsConnectIsNull() {
            addCriterion("is_connect is null");
            return (Criteria) this;
        }

        public Criteria andIsConnectIsNotNull() {
            addCriterion("is_connect is not null");
            return (Criteria) this;
        }

        public Criteria andIsConnectEqualTo(Boolean value) {
            addCriterion("is_connect =", value, "isConnect");
            return (Criteria) this;
        }

        public Criteria andIsConnectNotEqualTo(Boolean value) {
            addCriterion("is_connect <>", value, "isConnect");
            return (Criteria) this;
        }

        public Criteria andIsConnectGreaterThan(Boolean value) {
            addCriterion("is_connect >", value, "isConnect");
            return (Criteria) this;
        }

        public Criteria andIsConnectGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_connect >=", value, "isConnect");
            return (Criteria) this;
        }

        public Criteria andIsConnectLessThan(Boolean value) {
            addCriterion("is_connect <", value, "isConnect");
            return (Criteria) this;
        }

        public Criteria andIsConnectLessThanOrEqualTo(Boolean value) {
            addCriterion("is_connect <=", value, "isConnect");
            return (Criteria) this;
        }

        public Criteria andIsConnectIn(List<Boolean> values) {
            addCriterion("is_connect in", values, "isConnect");
            return (Criteria) this;
        }

        public Criteria andIsConnectNotIn(List<Boolean> values) {
            addCriterion("is_connect not in", values, "isConnect");
            return (Criteria) this;
        }

        public Criteria andIsConnectBetween(Boolean value1, Boolean value2) {
            addCriterion("is_connect between", value1, value2, "isConnect");
            return (Criteria) this;
        }

        public Criteria andIsConnectNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_connect not between", value1, value2, "isConnect");
            return (Criteria) this;
        }

        public Criteria andDetailsIsNull() {
            addCriterion("details is null");
            return (Criteria) this;
        }

        public Criteria andDetailsIsNotNull() {
            addCriterion("details is not null");
            return (Criteria) this;
        }

        public Criteria andDetailsEqualTo(String value) {
            addCriterion("details =", value, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsNotEqualTo(String value) {
            addCriterion("details <>", value, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsGreaterThan(String value) {
            addCriterion("details >", value, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsGreaterThanOrEqualTo(String value) {
            addCriterion("details >=", value, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsLessThan(String value) {
            addCriterion("details <", value, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsLessThanOrEqualTo(String value) {
            addCriterion("details <=", value, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsLike(String value) {
            addCriterion("details like", value, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsNotLike(String value) {
            addCriterion("details not like", value, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsIn(List<String> values) {
            addCriterion("details in", values, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsNotIn(List<String> values) {
            addCriterion("details not in", values, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsBetween(String value1, String value2) {
            addCriterion("details between", value1, value2, "details");
            return (Criteria) this;
        }

        public Criteria andDetailsNotBetween(String value1, String value2) {
            addCriterion("details not between", value1, value2, "details");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}